This invention relates to programmable logic devices, and more particularly to the organization of the basic logic modules of such devices and the sharing of certain control resources by groups of logic modules on such devices.
The basic logic module of a programmable logic device may include a small random-access memory and a register (flip-flop). The memory may be programmable to produce an output signal which is any logical combination of several inputs applied to the memory. For example, the memory may be a four-input look-up table which is programmable to produce an output signal which is any logical combination of the four inputs to the look-up table. The logic module may also include programmable logic connectors ("PLCs") for allowing the output of the memory to be applied to a register for storage and subsequent output as a registered output of the logic module. Alternatively or in addition, PLCs of the logic module may allow the output of the memory to be output by the logic module without registration by the register (i.e., as a so-called unregistered or combinatorial output of the logic module). If the output of the memory is not applied to the register, then PLCs of the logic module may allow the register to store and output one of the logic module inputs (so-called lonely register use of the register).
From the foregoing it will be seen that a logic module requires various control signals in addition to data signals. These control signals include a clock signal for clocking the register, and they may also include signals for controlling such functions as clearing the register and loading the register. In addition, it may be desirable to perform at least some of these functions synchronously or asynchronously.
If all possible control functions of all logic modules on a programmable logic device are individually controllable, excessive amounts of control circuitry may be required on the device. Moreover, much of that control circuitry will be unused and therefore wasted in the vast majority of uses of the device. It is therefore desirable to find configurations of logic module control circuitry that avoid such excess, but that still provide sufficient capability and flexibility of use that the device can meet the needs of a very wide range of users.
In view of the foregoing, it is an object of this invention to provide improved programmable logic devices.
It is a more particular object of this invention to provide improved control circuitry for logic modules and groups of logic modules on programmable logic devices.